package com.seven.commons;

/**
 * @工程名:common-utils
 * @author: sevenDay
 * @时间: 2019/1/3 17:15
 * @描述:
 */
public class BaseTypeUtils {

    /**
     * @descrp:判断是否是基本类型 int long void short
     * @auther: sevenDay
     * @date: 2019/1/3 17:22
     * @param clazz :
     * @return : boolean
     */
    public static boolean judgeBaseType(Class clazz){

        return clazz.isPrimitive();
    }

    /**
     * @descrp:判断是否是包装类型的基本类型
     * @auther: sevenDay
     * @date: 2019/1/3 17:24
     * @param clazz :
     * @return : boolean
     */
    public static boolean isWrapClass(Class clazz) {
        try {
            return ((Class) clazz.getField("TYPE").get(null)).isPrimitive();
        } catch (Exception e) {
            return false;
        }
    }
    /**
     * @descrp:排除基本类型和包装类型
     * @auther: sevenDay
     * @date: 2019/1/3 17:26
     * @param clazz :
     * @return : boolean
     */
    public static boolean judgeBaseTypeExcludeWrapClass(Class clazz){

        if (judgeBaseType(clazz)){
            return true;
        }
        return isWrapClass(clazz);
    }
}
